package paquete;

import paquete.Contacto;

//import paquete.Teclado;

public class Agenda {

	// atributos
	private Contacto personas[];
	private int tam = -1;

	// creo e inicializo la agenda con contactos
	public Agenda() {
		int i;
		personas = new Contacto[128];

		for (i = 0; i < 128; i++) {
			personas[i] = new Contacto();

		}

	}

	// tamaño agenda
	public int Lenght() {
		return tam;
	}

	// devuelvo contacto
	public Contacto contact(int numero) {
		return personas[numero];
	}

	// Busca al contacto en la agenda por el nombre
	public int BuscaContacto(String nombre) {

		int i = 0;

		while ((nombre.equals(personas[i].getNombre()))
				&& personas[i].getNombre() != null && i < 128) {
			System.out.println(personas[i]);
			i += 1;
			
		}

		if (i == 128 || personas[i].getNombre() == null) {

			return -1;
		}

		else {
			return i;
		}
	}

	// muestra datos del contacto
	public void DatosContacto(String nombre) {
		int aux;
		String  lola;
		aux = BuscaContacto(nombre);
		lola=String.valueOf(aux);
		
		System.out.println(lola);
		if(aux!=-1)
		{
			System.out.println(personas[aux]);
		}
		
		else
		{
			System.out.println(" no se a encontrado");
			
		}
	}

	// metodo que muestra todos los contacto de la lista
	public void Listar() {
		int aux = 0;

		while (personas[aux].getNombre() != null && aux < 128) {

			System.out.println(personas[aux]);

			aux += 1;
		}
	}

	// insertar en la agenda
	public Boolean AddContact(Contacto contacto) {

		if (Lenght() < 127) {

			tam += 1;
			contact(tam).setNombre(contacto.getNombre());
			contact(tam).setApellido1(contacto.getApellido1());
			contact(tam).setApellido2(contacto.getApellido2());
			contact(tam).setDireccion(contacto.getDireccion());
			contact(tam).setMobil(contacto.getMobil());
			contact(tam).setFijo(contacto.getFijo());

			return true;

		} else {
			System.out.println("Agenda llena");
			return false;
		}
	}

}
